8c2540e5f6fb5d5bef5a299f6e6efc371f3834b2,src/com/jfoenix/android/skins/JFXTextAreaSkinAndroid.java,JFXTextAreaSkinAndroid,JFXTextAreaSkinAndroid,#JFXTextArea#,119

Before Change


		// TODO: FIX the resizing issue of text area, the line goes into textarea bounds
		if(textArea.getPrefHeight() == -1) textArea.setPrefHeight(180);
		if(textArea.getPrefWidth() == -1) textArea.setPrefWidth(511);
		mainPane.getChildren().addAll(this.getChildren());
		scrollPane = (ScrollPane) mainPane.getChildren().get(0);

		promptContainer = new StackPane();
		promptContainer.setFocusTraversable(false);

		errorContainer = new HBox();
		errorContainer.setFocusTraversable(false);
		errorLabel.getStyleClass().add("errorLabel");
		errorLabel.setWrapText(true);
		AnchorPane errorLabelContainer = new AnchorPane();
		errorLabelContainer.getChildren().add(errorLabel);	
		errorContainer.getChildren().add(errorLabelContainer);
		errorContainer.getChildren().add(errorIcon);
		errorContainer.setPadding(new Insets(6,0,0,1));
		HBox.setHgrow(errorLabelContainer, Priority.ALWAYS);
		errorIcon.setTranslateY(3);		
		errorContainer.setSpacing(10);
		errorContainer.setVisible(false);		
		errorContainer.setOpacity(0);

		this.getChildren().setAll(mainPane, promptContainer, errorContainer);

		scrollPane.prefWidthProperty().bind(mainPane.widthProperty());
		scrollPane.prefHeightProperty().bind(mainPane.heightProperty());
		// hide text area borders
		scrollPane.setBackground(transparentBackground);
		((Region)scrollPane.getContent()).setBackground(transparentBackground);
		getSkinnable().setBackground(transparentBackground);

		line.layoutXProperty().bind(scrollPane.layoutXProperty());
		line.layoutYProperty().bind(scrollPane.layoutYProperty());
		focusedLine.layoutXProperty().bind(scrollPane.layoutXProperty());
		focusedLine.layoutYProperty().bind(scrollPane.layoutYProperty());
		cursorPane.layoutXProperty().bind(scrollPane.layoutXProperty());
		cursorPane.layoutYProperty().bind(scrollPane.layoutYProperty());

		//		errorContainer.layoutXProperty().bind(scrollPane.layoutXProperty());
		//		errorContainer.layoutYProperty().bind(scrollPane.layoutYProperty());

After Change


	public JFXTextAreaSkinAndroid(JFXTextArea textArea) {
		super(textArea);
		// init text area properties
		scrollPane = (ScrollPane) getChildren().get(0);
		((Region)scrollPane.getContent()).setPadding(new Insets(0));
		// hide text area borders
 		scrollPane.setBackground(transparentBackground);
 		((Region)scrollPane.getContent()).setBackground(transparentBackground);
 		getSkinnable().setBackground(transparentBackground);
 		textArea.setWrapText(true);
        
		errorLabel.getStyleClass().add("errorLabel");
        errorLabel.setPadding(new Insets(4,0,0,0));
		errorLabel.setWrapText(true);
		errorIcon.setTranslateY(3);
		StackPane errorLabelContainer = new StackPane();
		errorLabelContainer.getChildren().add(errorLabel);
		StackPane.setAlignment(errorLabel, Pos.CENTER_LEFT);
		
		promptContainer = new StackPane();

		line.getStyleClass().add("textfield-line");
		focusedLine.getStyleClass().add("textfield-focused-line");
		errorContainer = new HBox();
		errorContainer.getChildren().setAll(errorLabelContainer, errorIcon);
		HBox.setHgrow(errorLabelContainer, Priority.ALWAYS);